package Escenario;

public abstract class CarrilImpl implements Carril{
	
	private double inicio, fin, anchura;
	
	public CarrilImpl(double in, double fi, double anc){
		
		if (in < 0){
			throw new IllegalArgumentException("El inicio del carril tiene que ser positivo");
		}
		if (fi < 0){
			throw new IllegalArgumentException("El fin del carril tiene que ser positivo");
		}
		
		if (anc < 3){
			throw new IllegalArgumentException("La anchura del carril tiene que ser mayor que 3 metros");
		}
		if (in>fi){
			throw new IllegalArgumentException("El inicio del carril tiene que ser menor que el final");
		}
		if (in==fi){
			throw new IllegalArgumentException("La longitud del carril no puede ser 0");
		}
		inicio = in;
		fin = fi;
		anchura = anc;
	
	}
	
	public double getInicio(){
		return inicio;
	}
	
	public double getFin(){
		return fin;
	}
	
	public double getAnchura(){
		return anchura;
	}
	
	public String toString() {
		String s = "Inicio = "+inicio+" Fin = "+fin+" Anchura = "+anchura;
		return s;
	}
}